ABC314 C - Rotate Colored Subsequence


from collections import defaultdict
n, m = map(int, input().split())
s = input()
c = list(map(int, input().split()))
d = defaultdict(int)
for i in range(n):
d[s[i]] = c[i]
print(d)
#


n, m = map(int, input().split())
s = input()
c = list(map(int, input().split()))
color = [[] for _ in range(m)]
for i in range(n):
c[i] -= 1
color[c[i]].append(i)
# print(color)
# [[0, 3, 6], [1, 4, 5, 7], [2]]
#
p = [0] * m
res = ""
for i in range(n):
mod = len(color[c[i]])
res += s[color[c[i]][(p[c[i]] - 1 + mod) % mod]]
p[c[i]] += 1
print(res)

n, m = map(int, input().split())
s = input()
c = list(map(int, input().split()))
color = [[] for _ in range(m)]
for i in range(n):
c[i] -= 1
color[c[i]].append(i)
# print(color)
# [[0, 3, 6], [1, 4, 5, 7], [2]]
#
# 2 0 1
# 3 0 1 2
# 0
#
p = [0] * m
res = ""
for i in range(n):
if p[c[i]] == 0:
res += s[color[c[i]][len(color[c[i]])-1]]
else:
res += s[color[c[i]][p[c[i]]-1]]
p[c[i]] += 1
print(res)